Динамическое меню

Динамическое меню#

Система позволяет без участия разработчика осуществлять настройки общей иерархии меню и общего перечня вызовов меню (транзакций). Настройка осуществляется из приложения «Настройка системы», меню Настройки и сервисы\Настройки динамического меню. Указанный пункт меню содержит два подпунта: Справочник вызовов и Настройка иерархии меню.

Справочник вызовов#

Справочник вызовов меню позволяет настраивать вызовы меню (транзакции), которые при необходимости можно будет использовать в нескольких различных ветках иерархии динамического меню.

Рисунок 3 Карточка вызова меню

Справочник содержит следующие поля:

Таблица 5 Справочник вызовов

Наименование

Описание

Способ ввода

Кодовое имя

Кодовое имя вызова. Позволяет осуществлять поиск и запуск вызова по коду. Обязательное

Текст. Ручной ввод

Наименование

Наименование вызова. Обязательное

Текст. Ручной ввод

Модуль

Модуль, к которому относится вызов. При переносе конфигурации вызовы, модуль которых отсутствует на целевой базе, не будут устанавливаться

Выбор из списка модулей

Тип вызова

Определяет вариант обработки вызова. Может принимать следующие значения: - Открытие списка объектов; - Создание объекта; - Jexl-скрипт

Выбор из выпадающего списка типов вызова

Имя выборки и отображения

Обязательное в случае, если Тип вызова = Открытие списка объектов. Выполнение вызова в этом случае открывает указанную выборку и отображение. Поле отображается в характеристиках при выборе соответствующего типа вызова. В остальных случаях не заполняется.

Текст. Ручной ввод

Имя класса

Обязательное в случае, если Тип вызова = Создание объекта. Выполнение вызова в этом случае создает объект указанного класса и открывает карточку созданного объекта. Поле отображается в характеристиках при выборе соответствующего типа вызова. В остальных случаях не заполняется.

Текст. Ручной ввод

Jexl-скрипт

Обязательное в случае, если Тип вызова = Jexl-скрипт. Выполнение вызова в этом случае выполняет заданный скрипт. Поле отображается в характеристиках при выборе соответствующего типа вызова. В остальных случаях не заполняется.

Текст. Ручной ввод

На панели инструментов в карточке вызова содержится операция «Сменить тип вызова на Jexl-скрипт». Операция изменяет типа вызова на Jexl-скрипт и формирует текст скрипта в зависимости от предыдущих настроек: для типа «Открытие списка объектов» формируется скрипт для открытия указанной выборки и отображения, для типа «Создание объекта» формируется скрипт по созданию объекта указанного класса. Операция используется в том случае, если просто открыть указанную выборку или создать объект указанного класса недостаточно. Сформированный текст скрипта можно доработать для расширения исполняемый операций вызова.

Настройка иерархии меню#

Рисунок 4 Настройка иерархии меню

Настройка иерархии меню содержит следующие поля:

Таблица 6 Настройка иерархии меню

Наименование

Описание

Способ ввода

Системное имя

Системное имя пункта иерархии. Используется для переноса конфигурации меню между базами.

Текст. Заполняется автоматически при создании

Наименование

Наименование пункта иерархии.

Текст. Ручной ввод

Модуль

Модуль, к которому относится пункт иерархии.

Выбор из списка модулей

Порядковый номер

Порядковый номер пункта иерархии меню. Определяет порядок отображения пунктов иерархии.

Число. Ручной ввод.

Код вызова

Код вызова меню из справочника вызовов

Не редактируется. Отображается для пунктов иерархии, соответствующих вызовам

На закладке «Настройка прав доступа» отображаются роли, наличие которых у пользователя будет давать доступ к выбранному пункту меню. Для предоставления доступа к пункту меню на закладке имеется возможность добавить новую запись и указать роль. При этом роль будет автоматически добавлена для всех вышестоящих пунктов иерархии и для всех потомков выбранного пункта меню.

Для добавления новых пунктов в иерархию меню необходимо выделить пункт, в котором требует добавить новый подпункт или вызов, и воспользоваться одной из операций под кнопкой создания новой записи: • Создать пункт меню на уровень ниже. Создает новый пункт меню на уровень ниже выбранного. • Создать вызов на уровень ниже. Открывает для выбора справочник вызовов меню и добавляет выбранный вызов на уровень ниже выбранного пункта меню.